package com.jx.driving.request.domain;

import com.jx.driving.protocol.terminal.annotation.LimitedStringAnnotation;
import com.jx.driving.protocol.terminal.annotation.StringAnnotation;
import com.jx.driving.protocol.terminal.annotation.TerminalAnnotation;
import com.jx.driving.protocol.terminal.annotation.WordAnnotation;

/**
 * 终端控制指令1
 * @author shenliuyang
 *
 * 2016年10月26日下午3:54:56
 */
@TerminalAnnotation
public class TerminalInstruction1 implements TerminalInstruction {

	@StringAnnotation(order = 1)
	private String url;//URL地址
	@LimitedStringAnnotation(value = 1, order = 2)
	private String splitSymbol = ";";
	@StringAnnotation(order = 3)
	private String dialingAddress;//拨号点名称
	@LimitedStringAnnotation(value = 1, order = 4)
	private String splitSymbol1 = ";";
	@StringAnnotation(order = 5)
	private String dialingUserName;//拨号用户名
	@LimitedStringAnnotation(value = 1, order = 6)
	private String splitSymbol2 = ";";
	@StringAnnotation(order = 7)
	private String dialingPassword;//拨号密码
	@LimitedStringAnnotation(value = 1, order = 8)
	private String splitSymbol3 = ";";
	@StringAnnotation(order = 9)
	private String ipAddress;//IP地址
	@LimitedStringAnnotation(value = 1, order = 10)
	private String splitSymbol4 = ";";
	@WordAnnotation(order = 11)
	private Integer tcpPort;//TCP端口
	@LimitedStringAnnotation(value = 1, order = 12)
	private String splitSymbol5 = ";";
	@WordAnnotation(order = 13)
	private Integer udpPort;//UDP端口
	@LimitedStringAnnotation(value = 1, order = 14)
	private String splitSymbol6 = ";";
	@LimitedStringAnnotation(value = 5, order = 15)
	private String manufactureId;//制造商ID
	@LimitedStringAnnotation(value = 1, order = 16)
	private String splitSymbol7 = ";";
	@StringAnnotation(order = 17)
	private String hardVersion;//硬件版本
	@LimitedStringAnnotation(value = 1, order = 18)
	private String splitSymbol8 = ";";
	@StringAnnotation(order = 19)
	private String firmwareVersion;//固件版本
	@LimitedStringAnnotation(value = 1, order = 20)
	private String splitSymbol10 = ";";
	@WordAnnotation(order = 21)
	private Integer serverConnectionTime;//连接到指定服务器时限

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getDialingAddress() {
		return dialingAddress;
	}

	public void setDialingAddress(String dialingAddress) {
		this.dialingAddress = dialingAddress;
	}

	public String getDialingUserName() {
		return dialingUserName;
	}

	public void setDialingUserName(String dialingUserName) {
		this.dialingUserName = dialingUserName;
	}

	public String getDialingPassword() {
		return dialingPassword;
	}

	public void setDialingPassword(String dialingPassword) {
		this.dialingPassword = dialingPassword;
	}

	public String getIpAddress() {
		return ipAddress;
	}

	public void setIpAddress(String ipAddress) {
		this.ipAddress = ipAddress;
	}

	public Integer getTcpPort() {
		return tcpPort;
	}

	public void setTcpPort(Integer tcpPort) {
		this.tcpPort = tcpPort;
	}

	public Integer getUdpPort() {
		return udpPort;
	}

	public void setUdpPort(Integer udpPort) {
		this.udpPort = udpPort;
	}

	public String getManufactureId() {
		return manufactureId;
	}

	public void setManufactureId(String manufactureId) {
		this.manufactureId = manufactureId;
	}

	public String getHardVersion() {
		return hardVersion;
	}

	public void setHardVersion(String hardVersion) {
		this.hardVersion = hardVersion;
	}

	public String getFirmwareVersion() {
		return firmwareVersion;
	}

	public void setFirmwareVersion(String firmwareVersion) {
		this.firmwareVersion = firmwareVersion;
	}

	public Integer getServerConnectionTime() {
		return serverConnectionTime;
	}

	public void setServerConnectionTime(Integer serverConnectionTime) {
		this.serverConnectionTime = serverConnectionTime;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("TerminalInstruction1 [url=").append(url).append(", dialingAddress=").append(dialingAddress)
				.append(", dialingUserName=").append(dialingUserName).append(", dialingPassword=")
				.append(dialingPassword).append(", ipAddress=").append(ipAddress).append(", tcpPort=").append(tcpPort)
				.append(", udpPort=").append(udpPort).append(", manufactureId=").append(manufactureId)
				.append(", hardVersion=").append(hardVersion).append(", firmwareVersion=").append(firmwareVersion)
				.append(", serverConnectionTime=").append(serverConnectionTime).append("]");
		return builder.toString();
	}

}
